package com.macrounion.atv.service.mapper;

import com.macrounion.atv.service.dto.req.DeviceReqDto;
import com.macrounion.atv.service.dto.req.DeviceStatusReqDto;
import com.macrounion.atv.service.dto.resp.DeviceListRespDto;
import com.macrounion.atv.service.entity.Device;
import com.macrounion.atv.service.entity.ext.DeviceExt;

import com.macrounion.atv.service.entity.ext.DeviceStatusExt;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DeviceMapperExt {

    List<Device> getDeviceBySpotId(@Param("soptId")String spotId);

    List<Device> getDeviceByParentSpotId(@Param("parentSpotId")String parentSpotId);

	List<DeviceExt> getByProtocol(String protocol);

	List<DeviceListRespDto> getDeviceList(DeviceReqDto deviceReqDto);

	List<DeviceStatusExt> getStatusList(DeviceStatusReqDto deviceStatusReqDto);


	int findCount(Device device);




	List<Device> getAllDevice(Device device);

	DeviceExt getByDeviceCode(String deviceCode);

	List<Device> getDevicesToVisual(Device device);

	DeviceExt getDeviceById(String deviceId);

	List<Device> getRePingByIds(@Param("deviceIds")List<String> deviceIds);

}